Jump to content
  • 0

Замена констатны в тексте


hitenok
 Share

Question

Добрый, сломал всю голову уже.

Если кто знает, подскажите.

Делаю выборку из БД, получаю переменную $content = 'Какой-то текст а в нем CONSTANTA'.

Я хочу заменить в переменной $content слово "CONSTANTA" на аналогичную константу CONSTANTA, объявленную заранее.

И тоже самое с переменной, например $content = 'Какой-то текст а в нем $var'.

Гуглю уже всю за....., но я не могу понять как так вообще можно сделать, через регулярки я не смог.

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

Видимо, я не уточнил главного, константа записана в тексте как [CONSTАNTA], я их вытаскиваю через регулярный поиск, и имя константы у меня получается в переменной, поэтому заменить str_replace мне не удалось. Пробовал и constant($имя константы), не работает.

т.е. выходит так

$имя_констатны = "CONST";

$с_подстановкой_константы = constant($имя_констатны);

$меняем_тут = "Меняем тут какой-то текст на CONST";

str_replace("CONST", $с_подстановкой_константы, $меняем_тут);

Так не работает.

Edited by hitenok
Link to comment
Share on other sites

  • 0

<?php
$a = '111';
$c = '333';
$str = 'repl[a][c]e me';
echo preg_replace('~\[([^\]]*)\]~e', "$\\1", $str);

Да, но как тогда обратиться к константе и получить ее значение, если известно только ее имя, как передать ее значение в переменную?

Я наверное плохо объясняю.

Попробую еще раз.

Есть константа

define ("NAME", "Иван");

Есть текст в базе данных, после выборки получается переменная $content

$content = 'Модератор сайта [NAME]';

Как заменить [NAME] в $content на значение аналогичной констатны?

У меня выходит, что я имею переменную, к примеру $a = 'NAME';

Как присвоить значение константы NAME к переменной $b динамически, т.е. не прописывая b$ = NAME?

Т.е. заранее я не могу присвоить переменной $c значение константы $c = NAME, так как констант огромное количество и перегонять их все в переменные нет смысла.

Или я туплю уже?

Edited by hitenok
Link to comment
Share on other sites

  • 0

У меня выходит, что я имею переменную, к примеру $a = 'NAME';

Как присвоить значение константы NAME к переменной $b динамически, т.е. не прописывая b$ = NAME?

Т.е. заранее я не могу присвоить переменной $c значение константы $c = NAME, так как констант огромное количество и перегонять их все в переменные нет смысла.

Или я туплю уже?

constant()

т.е.:

Echo constant($a);

Link to comment
Share on other sites

  • 0

Echo constant($a);

У меня так не заработало? Это точно работает? Если да, буду копать почему у меня не работает.

Да, точно работает, видимо я где-то ошибся, спасибо, теперь я знаю достаточно.

Спасибо всем, кто откликнулся.

Edited by hitenok
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy